﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL.DataSourceInterface;
using DAL.Entities;
using DAL.DataSourceImplementation.DataSourceDB;

namespace DAL.DataSourceImplementation
{
    public class GeneroDAO : IGeneroDAO
    {
        ///Variable para almacenar el nombre de la conexión
        private static string connName;

        /// Constructor que recibe la llave de conexión desde el data access
        /// <param name="_connName">Nombre de la llave de conexion</param>
        public GeneroDAO(string _connName)
        {
            connName = _connName;
        }

        ///Métodos
        public List<Genero> GetALL()
        {
            List<Genero> generoList = new List<Genero>();

            //Se abre contexto de la BD
            using(PublicaTuPropiedadDB db = new PublicaTuPropiedadDB(connName))
            {
                generoList = db.Genero.Where(gen => gen.BGEN_ESTADO == true).ToList();
            }
            return generoList;
        }

        public List<Genero> GetALLById(int pk_Genero)
        {
            List<Genero> generoList = new List<Genero>();

            //Se abre contexto de la BD
            using (PublicaTuPropiedadDB db = new PublicaTuPropiedadDB(connName))
            {
                generoList = db.Genero.Where(gen => gen.BGEN_ESTADO == true && gen.IGEN_PK == pk_Genero).ToList();
            }
            return generoList;
        }
    }
}
